Blockchain technology is generally a decentralized distributed database technology with characteristics such as decentralization, transparency, tamper-resistance, trust, etc. It can be used to record data information in a public or private peer-to-peer network. To ensure data consistency of a blockchain, data is generated and updated on the blockchain by using a consensus algorithm. The Practical Byzantine Fault Tolerance (PBFT) algorithm is a distributed consistency consensus algorithm commonly used in the industry.
Practical Byzantine Fault Tolerance (PBFT) is a state machine replication algorithm. Usually, some nodes are selected from a plurality of nodes on the blockchain as consensus nodes for consensus processing. Usually, there can be 4 to 11 consensus nodes participating in consensus. Currently, in PBFT, algorithms for consensus node selection mainly include random selection and fixed selection. In random consensus node selection, it is difficult to design an algorithm to make all nodes approve a newly selected consensus node, and node selection itself is a complicated consensus-reaching process. Fixed consensus node selection is simpler than random selection in terms of implementation, for example, only source code needs to be distributed to all nodes. However, this method becomes difficult when a fault occurs or when a consensus node is updated for some reason.
Currently, there is a need in the industry for a PBFT consensus node selection solution that is easy to implement and maintain, highly efficient, and reliable.